1. Field of the Invention
This invention relates to the synchronization of digital data information signals and, more particularly, to synchronizing, and recovering the synchronization of, digital data information signals by positioning the digital data that comprises a data stream into particular positions of the data structure.
2. Description of Related Art
Several synchronization schemes for obtaining and recovering synchronization of a data structure are known in the art. Typically, a data structure comprises a plurality of bits which, for purposes of illustration, can be viewed as a serial bit stream. The serial bit stream can be structured various ways. One way is to structure the serial bit stream into a plurality of fixed length data symbols, typically a plurality of bytes where each byte is eight-bits in length. In turn, one or more data symbols can comprise an error correcting code (ECC) codeword while a fixed length ECC block comprises an interleaved set of one or more ECC codewords such as Reed Solomon codewords.
In a known arrangement, apparatus can check the serial bit stream, for example, on a bit-by-bit basis until the apparatus detects a special multibit synchronization (sync) word whereupon synchronization can be said to have been recovered. The special multibit sync word can be regularly, or even periodically, inserted in the bit stream by transmitter apparatus and then can be forwarded over a transmission communications channel to a receiver. The receiver can include synchronization apparatus to recover synchronization of the information comprising the bit stream. However, when a special multibit sync word is used, then that special sync word typically becomes a "non-allowed bit pattern" in the sense that if that particular bit pattern defines the special multibit sync word it cannot also define transmitter-to-receiver information. It ought to be mentioned, however, that there are some recognized exceptions to the "cannot also define" comment.
Even though the foregoing form of synchronization arrangement is useful for synchronizing symbols that comprise the bit stream, it does not solve the problem of synchronizing the ECC blocks which themselves comprise a plurality of ECC codewords. For example, while the described arrangement is useful for identifying the boundaries of a codeword and for thus synchronizing the codeword within a bit stream, the further problem of identifying exactly where the codeword fits within the boundaries of the ECC block remains. That problem has been solved in other ways. In one solution, the special multibit sync word is followed by an address word which identifies the position within the ECC block where the next data up to the next sync word following the special sync word is to be positioned. In that manner, an address word can regularly, or even periodically, be coupled with a special multibit sync word not only to obtain word synchronization but also to obtain ECC block synchronization.
Unfortunately, known synchronization arrangements suffer in that synchronization is not recoverable until the next special multibit sync word is detected. In addition, there is an "overhead" represented by the regular inclusion of the special multibit sync word and address word. Unfortunately, overhead represents a loss of throughput to the arrangement. For example, one known special multibit sync word comprises two consecutive special sync bytes followed by two consecutive address bytes being included in each ECC codeword in addition to some ECC check bytes. Assuming that an ECC codeword comprises, for example, about 100 data symbols with each data symbol being an eight-bit byte, it is not unusual to find that the overhead is about four-to-ten percent particularly if the ECC that is used to protect the address word is also included in overhead. Clearly, if the special multibit sync codeword is transmitted too frequently, it further increases the "overhead."
It is also recognized that synchronization schemes need to operate in the presence of errors. For example, synchronization must not fail (a) on non-detection of a loss of sync or (b) on the detection of a spurious sync word such as when a word, which is not actually in the data stream, is erroneously detected by a sync detector as being a sync word. Known synchronization systems do not economically and robustly operate in such situations.